﻿using Furion.DatabaseAccessor;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Gear.ORM.Core.Tenant
{
    public class Tenants : IEntity<MultiTenantDbContextLocator>, IPrivateEntity
    {
        public Tenants()
        {

        }

        //
        // 摘要:
        //     租户Id
        [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
        [Key]
        [ScaffoldColumn(false)]
        public virtual string TenantId { get; set; }
        //
        // 摘要:
        //     租户名
        [MaxLength(128)]
        [Required]
        public virtual string Name { get; set; }
        //
        // 摘要:
        //     来源主机地址
        [MaxLength(256)]
        public virtual string Host { get; set; }
        //
        // 摘要:
        //     电子邮箱
        [EmailAddress]
        [MaxLength(256)]
        public virtual string EmailAddress { get; set; }
        //
        // 摘要:
        //     手机号码
        [MaxLength(32)]
        [Phone]
        public virtual string PhoneNumber { get; set; }
        //
        // 摘要:
        //     架构名
        [MaxLength(32)]
        public virtual string Schema { get; set; }
        //
        // 摘要:
        //     数据库链接字符串
        [MaxLength(256)]
        public virtual string ConnectionString { get; set; }
        //
        // 摘要:
        //     创建时间
        public virtual DateTime CreatedTime { get; set; }
    }
}
